The HLS procedure creates a color table based on the HLS (Hue, Lightness, Saturation) color system.
Using the input parameters, a spiral through the double-ended HLS cone is traced. Points along the cone are converted from HLS to RGB. The current colortable (and the COLORS common block) contains the new colortable on exit.
This routine is written in the IDL language. Its source code can be found in the file hls.pro in the lib subdirectory of the IDL distribution.
Copy and paste the following code at the IDL command line to see an example of using HLS.
; Locate the moon_landing.png file, then read it in.
place = FILEPATH('moon_landing.png', SUBDIR=['examples', 'data'])
READ_PNG, place, picture
; Generate some values to use in the argument in
; creating the new colortable.
loop = FIX(500*RANDOMU(seed))
v1 = FIX(100*RANDOMU(seed))
v2 = FIX(100*RANDOMU(seed))
s1 = FIX(100*RANDOMU(seed))
s2 = FIX(100*RANDOMU(seed))
degree = FIX(360*RANDOMU(seed))
; Create a new colortable 'col' based on the randomly-generated
; values, above.
HLS, v1, v2, s1, s2, degree, loop, col
; Display the image using the newly generated color table.
see = IMAGE(picture, RGB_TABLE=col)
; Run this example many times to see the different
; color tables you can get.
HLS, Litlo, Lithi, Satlo, Sathi, Hue, Loops [, Colr]
Starting lightness, from 0 to 100%.
Ending lightness, from 0 to 100%.
Starting saturation, from 0 to 100%.
Ending saturation, from 0 to 100%.
Starting Hue, from 0 to 360 degrees. Red = 0 degs, green = 120, blue = 240.
The number of loops through the color spiral. This parameter does not have to be an integer. A negative value causes the loops to traverse the spiral in the opposite direction.
An optional (256,3) integer array in which the new R, G, and B values are returned. Red = Colr[*,0], green = Colr[*,1], blue = Colr[*,2].
None.
|
Original |
Introduced |